package com.exam.mapper;

import java.util.List;
import java.util.Map;

import com.exam.pojo.Classes;
import com.exam.pojo.Major;

/**
 * @author 蔡小凤
  *   专业Mapper接口
 */
public interface MajorMapper {
	
	/**
	 * 通过专业名称获取专业对象
	 * @param majorId 专业名称
	 * @return 专业对象
	 */
	Major getMajorByName(String majorName);
		
	/**
	 * 通过专业编号获取专业对象
	 * @param majorId专业编号
	 * @return 专业对象
	 */
	Major getMajorById(Integer majorId);
	
	/**
	 * 获取所有专业
	 * @param void
	 * @return List<Major> 专业列表 
	 */
	List<Major> getAllMajor();
	 
	/**
	 * 添加专业
	 * @param majorName 专业名称
	 * @return void 
	 */
	void addMajor(String majorName);
	
	/**
	 * 更新专业信息
	 * @param map majorName 修改完的名称,majorId 专业编号 
	 */
	void updateMajor(Map map);

	/**
	 * 删除专业
	 * @param majorId 专业编号
	 */
	void deleteMajor(Integer majorId);
	
	/**
	 * 获取已经被删除的专业(分页)
	 * @param map start 起始位置 offset 偏移量
	 * @return 被删除的专业列表
	 */
	public List<Major> getDeletedMajorByPaging(Map map);

	/**
	 * 获取被删除专业的总记录数
	 * @param void
	 * @return 记录数
	 */
	public Integer getDeletedTotalCount();
	
	/**
	 * 恢复专业
	 * @param majorId 专业编号
	 * @return void
	 */
	public void recoverMajor(Integer majorId);

}
